home *** CD-ROM | disk | FTP | other *** search
- // GETINFO SCRIPTING
- // NetPiac.hu (HUN) import
-
- (***************************************************
- * Movie importation script for: *
- * NetPiac.hu (HU), http://www.netpiac.hu *
- * V1.0 *
- * (c) 2003 Zoltan Karpati pinyo@gibzone.hu *
- * *
- * For use with Ant Movie Catalog 3.4.0 *
- * www.antp.be/software/moviecatalog *
- * *
- * This program is free software; you can *
- * redistribute it and/or modify it under the *
- * terms of the GNU General Public License as *
- * published by the Free Software Foundation; *
- * either version 2 of the License, or (at your *
- * option) any later version. *
- ***************************************************)
-
- program netpiac;
-
- var
- MovieName: string;
-
- function RemoveHTML(Szoveg: string): String;
- begin
- HTMLRemovetags(Szoveg);
- HTMLDecode(Szoveg);
- Szoveg := StringReplace(Szoveg, '%20', ' ');
- Szoveg := StringReplace(Szoveg, '<i>', '');
- Szoveg := StringReplace(Szoveg, '</i>', '');
- Szoveg := StringReplace(Szoveg, '<b>', '');
- Szoveg := StringReplace(Szoveg, '</b>', '');
- Szoveg := StringReplace(Szoveg, '</p>', '');
- Szoveg := StringReplace(Szoveg, ' ', ' ');
- Szoveg := StringReplace(Szoveg, ' ', ' ');
- result := Trim(Szoveg);
- end;
-
- function AddHTML(Szoveg: string): String;
- begin
- Szoveg := StringReplace(Szoveg, ' ','%20');
- result := Szoveg;
- end;
-
- function FindLine(Pattern: string; List: TStringList; StartAt: Integer): Integer;
- var
- i: Integer;
- begin
- result := -1;
- if StartAt < 0 then
- StartAt := 0;
- for i := StartAt to List.Count-1 do
- if Pos(Pattern, List.GetString(i)) <> 0 then
- begin
- result := i;
- Break;
- end;
- end;
-
- procedure AnalyzePage(Address: string);
- var
- Page: TStringList;
- LineNr: Integer;
- begin
- Page := TStringList.Create;
- Page.Text := GetPage(Address);
- if pos('<!--tΘtel eleje-->', Page.Text) = 0 then
- begin
- AnalyzeMoviePage(Page)
- end else
- begin
-
- PickTreeClear;
- LineNr := 0;
- LineNr := FindLine('<!--tΘtel eleje-->', Page, LineNr);
- if LineNr > -1 then
- begin
- PickTreeAdd('DVD filmek:', '');
- AddMoviesTitles(Page, LineNr);
- end;
- if PickTreeExec(Address) then
- AnalyzePage(Address);
- end;
- Page.Free;
- end;
-
- procedure AnalyzeMoviePage(Page: TStringList);
- var
- Line, Value, Value2, FullValue: string;
- LineNr: Integer;
- Adder: Integer;
- Rate: Integer;
- BeginPos, EndPos: Integer;
- begin
- // fieldURL
- LineNr := FindLine('<!--SHOP MODUL ELEJE', Page, 0);
- if LineNr > -1 then
- begin
- Line := Page.GetString(LineNr+4);
- BeginPos := pos('termek_id', Line)+18;
- EndPos := pos('">', Line);
- Value := copy(Line, BeginPos, EndPos - BeginPos);
- SetField(fieldURL, 'http://www.netpiac.hu/display/index.phtml?do=termek&termek_id=' + Value);
- end;
-
- // fieldSource
- SetField(fieldSource,'NetPiac.hu');
-
- // fieldMediaType
- SetField(fieldMediaType, 'DVD');
-
- // fieldTranslatedTitle fieldOriginalTitle fieldCategory fieldYear fieldCountry
- LineNr := FindLine('<!--kΘpkontΘner vΘge', Page, 0);
- if LineNr > -1 then
- begin
- LineNr := FindLine('ib2">', Page, LineNr);
- Line := Page.GetString(LineNr);
- BeginPos := pos('ib2">', Line)+5;
- EndPos := pos('</span>', Line);
- Value := copy(Line, BeginPos, EndPos - BeginPos);
- SetField(fieldTranslatedTitle,RemoveHTML(Value));
-
- Delete(Line,1,EndPos);
- BeginPos := pos('ib3">', Line)+5;
- EndPos := pos('<br>', Line);
- Value := copy(Line, BeginPos, EndPos - BeginPos);
- SetField(fieldOriginalTitle,RemoveHTML(Value));
-
- Delete(Line,1,EndPos+3);
- EndPos := pos('</span>', Line);
- FullValue := copy(Line, 1, EndPos-1);
-
- EndPos := pos(',',FullValue);
- Value := copy(FullValue, 1, EndPos-1);
- SetField(fieldCategory, RemoveHTML(Value));
-
- Delete(FullValue,1,EndPos+1);
- EndPos := pos('-',FullValue);
- Value := copy(FullValue, 1, EndPos-1);
- SetField(fieldYear,RemoveHTML(Value));
-
- Delete(FullValue,1,EndPos+1);
- EndPos := pos('film',FullValue);
- Value := copy(FullValue, 1, EndPos-1);
- SetField(fieldCountry,RemoveHTML(Value));
-
- end;
-
- // fieldDirector
- LineNr := FindLine('Rendezte:', Page, 0);
- if LineNr > -1 then
- begin
- Line := Page.GetString(LineNr);
- BeginPos := pos('class="ib2">', Line) + 12;
- EndPos := pos('</span></a>', Line)-1;
- Value := copy(Line, BeginPos, EndPos - BeginPos);
- SetField(fieldDirector, RemoveHTML(Value));
- end;
-
- // fieldActors
- LineNr := FindLine('F⌡szerepben: ', Page, 0);
- if LineNr > -1 then
- begin
- Line := Page.GetString(LineNr);
- BeginPos := pos('F⌡szerepben: ', Line) + 12;
- Delete(Line,1, BeginPos);
- FullValue := Line;
- repeat
- LineNr := LineNr + 1;
- Line := Page.GetString(LineNr);
- FullValue := FullValue + Line;
- until Line = '<br><br>';
- SetField(fieldActors, RemoveHTML(FullValue));
- end;
-
- // fieldProducer - studi≤
- LineNr := FindLine('St·di≤/Forgalmaz≤:', Page, 0);
- if LineNr > -1 then
- begin
- Line := Page.GetString(LineNr);
- BeginPos := pos('St·di≤/Forgalmaz≤:', Line);
- Delete(Line,1,BeginPos);
- BeginPos := pos('top">', Line)+5;
- EndPos := pos('</td></tr>', Line);
- Value := copy(Line, BeginPos, EndPos - BeginPos);
- SetField(fieldProducer,RemoveHTML(Value));
- end;
-
- // fieldLanguages
- LineNr := FindLine('>Hang: <', Page, 0);
- if LineNr > -1 then
- begin
- Line := Page.GetString(LineNr);
- BeginPos := pos('>Hang: <', Line);
- Delete(Line,1,BeginPos);
- BeginPos := pos('top">', Line)+5;
- EndPos := pos('</td></tr>', Line);
- Value := copy(Line, BeginPos, EndPos - BeginPos);
- SetField(fieldLanguages,RemoveHTML(Value));
- end;
-
- // fieldComments Kepformatum
- LineNr := FindLine('KΘp : ', Page, 0);
- FullValue := '';
- if LineNr > -1 then
- begin
- repeat
- LineNr := LineNr + 1;
- Line := Page.GetString(LineNr);
- BeginPos := pos('<td class="txt">', Line);
- if BeginPos > 0 then
- begin
- Delete(Line,1,BeginPos+16);
- FullValue := FullValue + RemoveHTML(Line);
- end;
- until (pos('</tr>', Line) > 0);
- SetField(fieldComments,RemoveHTML(FullValue));
- end;
-
- // fieldSubtitles Kepformatum
- LineNr := FindLine('Felirat nyelv:', Page, 0);
- if LineNr > -1 then
- begin
- Line := Page.GetString(LineNr);
- BeginPos := pos('Felirat nyelv:', Line);
- Delete(Line,1,BeginPos+13);
- EndPos := pos('</td></tr>', Line);
- Value := copy(Line, 1, EndPos);
- SetField(fieldSubtitles,RemoveHTML(Value));
- end;
-
- // fieldLength
- LineNr := FindLine('Hossza:', Page, 0);
- if LineNr > -1 then
- begin
- Line := Page.GetString(LineNr+1);
- BeginPos := pos('"txt">', Line)+6;
- EndPos := pos(' perc', Line);
- Value := copy(Line, BeginPos, EndPos-BeginPos);
- SetField(fieldLength,RemoveHTML(Value));
- end;
-
- // Picture
- LineNr := FindLine('/display/pop.phtml?pic', Page, 0);
- if LineNr > -1 then
- begin
- Line := Page.GetString(LineNr);
- BeginPos := pos('<img src="', Line)+9;
- Delete(Line, 1, BeginPos);
- EndPos := pos('" h', Line);
- Value := copy(Line, 1, EndPos - 1);
- GetPicture('http://www.netpiac.hu' + Value, False);
- end;
-
- // fieldDescription
- LineNr := FindLine('<!--SHOP MODUL V╔GE', Page, 0);
- if LineNr > -1 then
- begin
- Line := Page.GetString(LineNr + 1);
- SetField(fieldDescription, RemoveHTML(Line));
- end;
-
- DisplayResults;
- end;
-
- procedure AddMoviesTitles(Page: TStringList; var LineNr: Integer);
- var
- Line: string;
- MovieTitle, MovieAddress: string;
- StartPos: Integer;
- EndPos: Integer;
- begin
- LineNr := 0;
- repeat
- LineNr := FindLine('<!--tΘtel eleje-->', Page, LineNr);
- LineNr := LineNr + 1 ;
- Line := Page.GetString(LineNr);
- StartPos := pos('a href="', Line);
- if StartPos > 0 then
- begin
- EndPos := pos('"><img', Line);
- MovieAddress := copy(Line, StartPos + 8, EndPos-StartPos-8);
-
- StartPos := pos('"navu">', Line);
- Delete(Line, 1, StartPos+6);
- EndPos := pos('</a></td>', Line);
- MovieTitle := copy(Line, 1, EndPos-1);
-
- PickTreeAdd(MovieTitle, 'http://www.netpiac.hu' + MovieAddress);
- end;
- until LineNr = 0;
-
- end;
-
- begin
- if CheckVersion(3,4,0) then
- begin
- MovieName := GetField(fieldOriginalTitle);
- if MovieName = '' then
- MovieName := GetField(fieldTranslatedTitle);
- if Input('Importßlßs a NetPiac.hu-r≤l', 'A film cφme:', MovieName) then
- begin
- AnalyzePage('http://www.netpiac.hu/display/index.phtml?limit=40&style=1&do=talalatok&do2=gyors&ujkereses=1&hol=3&szoveg='+AddHTML(MovieName));
- end;
- end else
- ShowMessage('This script requires a newer version of Ant Movie Catalog (at least the version 3.4.0)');
- end.
-
-